/**************************************************************************
** Qt Creator license header template
**   Special keywords: Programmer 2012/5/10 2012
**   Environment variables: 
**   To protect a percent sign, use '%'.
**************************************************************************/

#ifndef SIMPLESTFILTER_H
#define SIMPLESTFILTER_H

#include <common/interfaces.h>

/*
  add five items to the submenu "Camera" of "filter" menu,
  according to the function "getClass",which submenu of filter menu the items are belonged.
  filterName: give items the names showed in submenu
  filterInfo: explain the items' purpose
  initParameterSet: define dialog be showed, when trigger the item.

  applyFilter: what is to be done,after the item is triggered.
  */
class SimplestFilter : public QObject,public MeshFilterInterface
{
    Q_OBJECT
    Q_INTERFACES(MeshFilterInterface)

public:
    enum{
        FP_VERT,
        FP_FACE,
        FP_COLOR,
        FP_NORM,
        FP_TEXCOORD
    };

    explicit SimplestFilter(QObject *parent = 0);
    



   virtual QString filterName(FilterIDType filter) const;
    virtual QString filterInfo(FilterIDType filter) const;
    virtual FilterClass getClass(QAction *a);
    virtual void initParameterSet(QAction *a, MeshModel &, RichParameterSet &parLst);
    virtual bool applyFilter(QAction *filter, MeshDocument &md, RichParameterSet &par, vcg::CallBackPos *cb);
    virtual int postCondition(QAction *) const;
//    virtual int getPreConditions(QAction *) const;



signals:
    
public slots:
    
};

#endif // SIMPLESTFILTER_H
